﻿using BCCommon.Extensions;
using BCCommon.OAEnums;
using BCDto.OA.TeamWorks.TaskRecord;
using System;
using System.Collections.Generic;

namespace BCDto.OA.ApplyOrder
{
    /// <summary>
    /// OA申请单信息
    /// </summary>
    public class ApplyOrderDto
    {
        /// <summary>
        /// 申请单Id
        /// </summary>		      
        public long ApplyOrderId { get; set; }

        /// <summary>
        /// 申请类型
        /// </summary>		      
        public OAApplyOrderType Type { get; set; }

        /// <summary>
        /// 申请类型
        /// </summary>		      
        public string TypeStr => this.Type.GetDescriptionString();

        /// <summary>
        /// 审核状态
        /// </summary>		      
        public OAApplyOrderStatus Status { get; set; }
        /// <summary>
        /// 审核状态
        /// </summary>		      
        public string StatusStr => this.Status.GetDescriptionString();
        /// <summary>
        /// 审批编号
        /// </summary>		      
        public string ApplyCode { get; set; }
        /// <summary>
        /// 部门Id
        /// </summary>		      
        public int DepartmentId { get; set; }
        /// <summary>
        /// 部门名称
        /// </summary>		      
        public string DepartmentName { get; set; }
        /// <summary>
        /// 申请标题
        /// </summary>		      
        public string Title { get; set; }
        /// <summary>
        /// 申请内容
        /// </summary>		      
        public string Content { get; set; }
        /// <summary>
        /// 管理员Id
        /// </summary>		      
        public long AdminId { get; set; }
        /// <summary>
        /// 管理员姓名
        /// </summary>		      
        public string AdminName { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>		      
        public DateTime CreateTime { get; set; }
        /// <summary>
        /// 修改人Id
        /// </summary>		      
        public long ModifierId { get; set; }
        /// <summary>
        /// 修改人姓名
        /// </summary>		      
        public string ModifierName { get; set; }
        /// <summary>
        /// 修改时间
        /// </summary>		      
        public DateTime? ModifyTime { get; set; }
        /// <summary>
        /// 审批人Ids
        /// </summary>		      
        public string ApprovalAdminIds { get; set; }
        /// <summary>
        /// 是否已读
        /// </summary>		      
        public bool IsRead { get; set; }
        /// <summary>
        /// 抄送人Ids
        /// </summary>		      
        public string CopierIds { get; set; }
        /// <summary>
        /// 公司Id
        /// </summary>
        public int CompanyId { get; set; }
        /// <summary>
        /// 抄送人列表
        /// </summary>
        public List<TaskReceiverRecordDto> Copiers { get; set; } = new List<TaskReceiverRecordDto>();
    }
}
